package com.example.srm.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.example.srm.domain.vo.Member;
import lombok.Data;
import lombok.experimental.Accessors;
import org.apache.ibatis.type.JdbcType;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 
 * @TableName t_project
 */
@TableName(value ="t_project")
@Data
@Accessors(chain = true)
public class TProject implements Serializable {
    /**
     * 
     */
    @TableId
    private String id;

    /**
     * 结果类型
     */
    private String achievementType;

    /**
     * 开始时间
     */
    private Date beginTime;

    /**
     * 能否申请
     */
    @TableField(jdbcType = JdbcType.BIT)
    private Boolean canApplication;

    /**
     * 能否结题
     */
    @TableField(jdbcType = JdbcType.BIT)
    private Boolean canConclude;

    /**
     * 能否变更
     */
    @TableField(jdbcType = JdbcType.BIT)
    private Boolean canUpdate;

    /**
     * 所属学院
     */
    private String college;

    /**
     * 创建者
     */
    private String createdUser;

    /**
     * 效益分析
     */
    private String economicAnalysis;

    /**
     * 现有条件
     */
    private String existingConditions;

    /**
     * 预期结果
     */
    private String expectedResult;

    /**
     * 项目级别
     */
    private String level;

    /**
     * 成员（json形式）
     */
    private String memberJsons;

    /**
     * 项目名称
     */
    private String name;

    /**
     * 立项目的
     */
    private String purpose;

    /**
     * 状态
     */
    @TableField("status")
    private Integer status1;

    @TableField(exist = false)
    private String status;

    /**
     * 学科
     */
    private String subject;

    /**
     * 负责人
     */
    private String userName;

    /**
     * 方案分析
     */
    private String viableAnalysis;

    /**
     * 资金集合
     */
    @TableField(exist = false)
    private List<TFund> funds;


    /**
     * 成员集合
     */
    @TableField(exist = false)
    private List<Member> members;



    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}